package 冒泡排序;

import java.util.Arrays;

public class 冒泡排序2 {
    public static void bubbleSort2(int[] arr) {
        for (int i = 0; i <arr.length-1 ; i++) {
            boolean flag=false;//每一趟冒泡都将其置为false

            for (int j = 0; j < arr.length-1-i; j++) {
                if (arr[j]>arr[j+1]) {
                    int tmp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=tmp;

                    flag=true;//发生交换置为true
                }
            }
            if (flag==false) {
                break;//如果本轮冒泡没有发生交换，那么数据就已经有序了，不再需要后面的冒泡
            }
        }
    }

    public static void main(String[] args) {
        int[] arr={10,5,2,12,6};
        bubbleSort2(arr);
        System.out.println(Arrays.toString(arr));
    }
}
